package org.example.mall.admin.configuration.auth.code;

import org.example.mall.admin.util.R;

/**
 * @author hzq
 * @date 2021/12/23 13:17
 */
public interface SendCodeHandler {

    /**
     * 发送验证码
     *
     * @param scenes      验证码场景
     * @param principal   发送目标
     * @param handlerType 发送类型
     * @return 发送信息
     */
    R<Object> sendCode(String scenes, String principal, String handlerType);

    /**
     * 检验场景
     *
     * @param scenes      场景
     * @param principal   发送目标
     * @param handlerType 发送类型
     * @return 检验结果
     */
    default Object checkScenes(String scenes, String principal, String handlerType) {
        return null;
    }
}
